package com.photonpay.api.config;

import com.photonpay.api.response.AccessTokenResponse;

/**
 * @author ：lo-
 * @date ：Created in 2023/11/22 15:20
 */
public interface PhotonPayConfig {

    /**
     * 获取token
     *
     * @return token
     */
    String getAccessToken();

    /**
     * token是否过期
     *
     * @return true = 是
     */
    boolean isAccessTokenExpired();

    void updateAccessToken(AccessTokenResponse accessToken);

    /**
     * 更新token
     *
     * @param accessToken      新的accessToken值
     * @param expiresInSeconds 过期时间，以秒为单位
     */
    void updateAccessToken(String accessToken, Long expiresInSeconds);

    /**
     * appId
     * @return appId
     */
    String getAppId();

    /**
     * appSecret
     * @return AppSecret
     */
    String getAppSecret();

    /**
     * 服务地址
     * @return 服务地址
     */
    String getServerUrl();

    /**
     * 公钥
     * @return 公钥
     */
    String getPublicKey();

    /**
     * 私钥
     * @return 私钥
     */
    String getPrivateKey();
}
